<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1999-2023 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>FINDLOC (The GNU Fortran Compiler)</title>

<meta name="description" content="FINDLOC (The GNU Fortran Compiler)">
<meta name="keywords" content="FINDLOC (The GNU Fortran Compiler)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Intrinsic-Procedures.html#Intrinsic-Procedures" rel="up" title="Intrinsic Procedures">
<link href="FLOOR.html#FLOOR" rel="next" title="FLOOR">
<link href="FGETC.html#FGETC" rel="prev" title="FGETC">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<a name="FINDLOC"></a>
<div class="header">
<p>
Next: <a href="FLOOR.html#FLOOR" accesskey="n" rel="next">FLOOR</a>, Previous: <a href="FGETC.html#FGETC" accesskey="p" rel="prev">FGETC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="FINDLOC-_002d_002d_002d-Search-an-array-for-a-value"></a>
<h3 class="section">8.108 <code>FINDLOC</code> &mdash; Search an array for a value</h3>
<a name="index-FINDLOC"></a>
<a name="index-findloc"></a>

<dl compact="compact">
<dt><em>Description</em>:</dt>
<dd><p>Determines the location of the element in the array with the value
given in the <var>VALUE</var> argument, or, if the <var>DIM</var> argument is
supplied, determines the locations of the elements equal to the
<var>VALUE</var> argument element along each
row of the array in the <var>DIM</var> direction.  If <var>MASK</var> is
present, only the elements for which <var>MASK</var> is <code>.TRUE.</code> are
considered.  If more than one element in the array has the value
<var>VALUE</var>, the location returned is that of the first such element
in array element order if the <var>BACK</var> is not present or if it is
<code>.FALSE.</code>. If <var>BACK</var> is true, the location returned is that
of the last such element. If the array has zero size, or all of the
elements of <var>MASK</var> are <code>.FALSE.</code>, then the result is an array
of zeroes.  Similarly, if <var>DIM</var> is supplied and all of the
elements of <var>MASK</var> along a given row are zero, the result value
for that row is zero.
</p>
</dd>
<dt><em>Standard</em>:</dt>
<dd><p>Fortran 2008 and later.
</p>
</dd>
<dt><em>Class</em>:</dt>
<dd><p>Transformational function
</p>
</dd>
<dt><em>Syntax</em>:</dt>
<dd><table>
<tr><td width="80%"><code>RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])</code></td></tr>
<tr><td width="80%"><code>RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])</code></td></tr>
</table>

</dd>
<dt><em>Arguments</em>:</dt>
<dd><table>
<tr><td width="15%"><var>ARRAY</var></td><td width="70%">Shall be an array of intrinsic type.</td></tr>
<tr><td width="15%"><var>VALUE</var></td><td width="70%">A scalar of intrinsic type which is in type
conformance with <var>ARRAY</var>.</td></tr>
<tr><td width="15%"><var>DIM</var></td><td width="70%">(Optional) Shall be a scalar of type
<code>INTEGER</code>, with a value between one and the rank of <var>ARRAY</var>,
inclusive.  It may not be an optional dummy argument.</td></tr>
<tr><td width="15%"><var>MASK</var></td><td width="70%">(Optional) Shall be of type <code>LOGICAL</code>,
and conformable with <var>ARRAY</var>.</td></tr>
<tr><td width="15%"><var>KIND</var></td><td width="70%">(Optional) A scalar <code>INTEGER</code> constant
expression indicating the kind parameter of the result.</td></tr>
<tr><td width="15%"><var>BACK</var></td><td width="70%">(Optional) A scalar of type <code>LOGICAL</code>.</td></tr>
</table>

</dd>
<dt><em>Return value</em>:</dt>
<dd><p>If <var>DIM</var> is absent, the result is a rank-one array with a length
equal to the rank of <var>ARRAY</var>.  If <var>DIM</var> is present, the result
is an array with a rank one less than the rank of <var>ARRAY</var>, and a
size corresponding to the size of <var>ARRAY</var> with the <var>DIM</var>
dimension removed.  If <var>DIM</var> is present and <var>ARRAY</var> has a rank
of one, the result is a scalar.  If the optional argument <var>KIND</var>
is present, the result is an integer of kind <var>KIND</var>, otherwise it
is of default kind.
</p>
</dd>
<dt><em>See also</em>:</dt>
<dd><p><a href="MAXLOC.html#MAXLOC">MAXLOC</a>, <br>
<a href="MINLOC.html#MINLOC">MINLOC</a>
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="FLOOR.html#FLOOR" accesskey="n" rel="next">FLOOR</a>, Previous: <a href="FGETC.html#FGETC" accesskey="p" rel="prev">FGETC</a>, Up: <a href="Intrinsic-Procedures.html#Intrinsic-Procedures" accesskey="u" rel="up">Intrinsic Procedures</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
